Fix PCI passthrough for devices w/o iomem.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 5 Feb 2009 15:08:53 +0000 (15:08 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 5 Feb 2009 15:08:53 +0000 (15:08 +0000)
From: Manuel Bouyer <bouyer@netbsd.org>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
xen/include/asm-x86/iocap.h
xen/include/xen/iocap.h

index c7463cb6f280fa3becc263ae3c3b1289380c1798..eee47228d4a583faabf24751e498b352020ed0cd 100644 (file)
@@ -14,7 +14,8 @@
 #define ioports_access_permitted(d, s, e)               \
     rangeset_contains_range((d)->arch.ioport_caps, s, e)
 
-#define cache_flush_permitted(d)                       \
-    (!rangeset_is_empty((d)->iomem_caps))
+#define cache_flush_permitted(d)                        \
+    (!rangeset_is_empty((d)->iomem_caps) ||             \
+     !rangeset_is_empty((d)->arch.ioport_caps))
 
 #endif /* __X86_IOCAP_H__ */
index db461b9dcb0fa97eb4c1478c83bd5472dbfbf45b..c32604d9c9800c6f1c5bef013907958322cee774 100644 (file)
@@ -29,6 +29,7 @@
     rangeset_contains_singleton((d)->irq_caps, i)
 
 #define multipage_allocation_permitted(d)               \
-    (!rangeset_is_empty((d)->iomem_caps))
+    (!rangeset_is_empty((d)->iomem_caps) ||             \
+     !rangeset_is_empty((d)->arch.ioport_caps))
 
 #endif /* __XEN_IOCAP_H__ */